System for control of blood processor

ABSTRACT

A blood processor is provided with a computer and memory, and external to the blood processor there is provided a general purpose computer system programmed with a convenient interface for creating scripts; the general purpose computer system translates the scripts into custom interpretive code adapted for processing by the computer in the blood processor, and the code is written into the memory of the blood processor via the computer in the blood processor.

RELATED APPLICATIONS

[0001] This application is related to the following U.S. Patents, eachof which is incorporated herein by reference for all purposes:5,603,845; 5,733,446; 5,738,784; 5,830,352.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] This invention relates to a method and system for controlling ablood processor. To be more particular, this invention is especiallyapplicable to a blood processor that produces fibrin sealant. In itsmost specific embodiment, the invention is a method and system forcontrolling a blood processor to produce autologous fibrin sealant.

[0004] 2. Related Art

[0005] A blood processor may be understood, in general terms, as amachine that performs some process on blood. The blood may be humanblood. A simple centrifuge may thus be thought of as a primitive bloodprocessor.

[0006] Blood processors range in complexity from very simple to verycomplex. The complexity of a blood processor may be thought of as beingin direct relation to the number, the kind, and the delicacy of theprocesses it performs.

[0007] For example, the separation of red blood cells with a centrifugeis, by itself, a fairly simple process. A blood processor to performonly such a separation needs only relatively simple controls, such as anon/off switch, a speed setting, or the like. In a similar vein, a highlycomplex apparatus for processing blood might require a myriad ofcontrols.

[0008] Complex blood processing procedures may require several steps.The more complex a procedure is, the is more desirable it becomes toautomate as much of the procedure as possible so as to avoid human errorand also to promote uniformity in execution of the steps.

[0009] To automate processing in a blood processor, it is known toinclude in the blood processor an application specific integratedcircuit (ASIC). An ASIC is designed to control the operation of theblood processor through the several or many steps of a complex bloodprocessing procedure. An ASIC is a reliable and useful control mechanismfor automating a blood processor.

[0010] An ASIC is disadvantageous, however, in the respect that itcannot be freely modified. In a highly complex blood processor, capableof performing many different operations and steps, this is adisadvantage because new procedures or modifications of old proceduresmay be desired. A blood processor with only an ASIC cannot be freelymodified to execute such procedures.

SUMMARY OF THE INVENTION

[0011] It is an object of the invention to provide a system for theconvenient production and modification of the control programs thatcontrol the automated execution of blood processing procedures.

[0012] To achieve this objective, a blood processor is provided with acomputer and memory, and external to the blood processor there isprovided a general purpose computer system programmed with a convenientinterface for creating scripts; the general purpose computer systemtranslates the scripts into code of a custom interpretive languageadapted to be interpreted by the computer in the blood processor, andthe script of custom interpretive language instructions is written intothe memory of the blood processor.

[0013] In one embodiment of the invention, multiple scripts are storedin the blood processor, and a barcode or the like on a disposable bloodpreparation unit indicates to the blood processor which of the multiplescripts should be invoked.

[0014] The invention will be better understood from the followingdescription in which an exemplary embodiment is described in detail withthe aid of the accompanying figures. It is to be understood that thedescribed embodiment is merely an example of the realization of theinvention and is for explanation only. In other words, the invention isnot limited in its applicability to this one example.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

[0015]FIG. 1 shows, in simplified schematic form, a preferred embodimentof the invention.

[0016]FIG. 2 shows, in simplified schematic form, a blood processoraccording to the invention.

[0017]FIG. 3 shows, in simplified schematic form, an external computerfeaturing a user interface and script generator according to theinvention.

[0018]FIG. 4 shows a blood processor including a bar code readeraccording to one embodiment of the invention.

[0019]FIG. 5 shows an example of a part of a script according to oneembodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0020] In FIG. 1, a blood processor 100 is provided with amicroprocessor 110 and a memory 120. An external computer 200 has ablood processor interface 210, a script generator 220, and a userinterface 230. The external computer 200 is linked to the bloodprocessor 100. To be more specific, the blood processor interface 210 ofthe external computer 200 is operably linked to write information intothe memory 120 of the blood processor 100. The microprocessor 110accesses the memory 120 to read the script of custom interpretivelanguage instructions.

[0021] As schematically shown in FIG. 2, the blood processor 100 isprovided with a low level hardware interface 130 to which themicroprocessor 110 is operably linked. The low level hardware interface130 provides an interface whereby the microprocessor 110 mayindependently control a plurality of devices 140 of the blood processor100.

[0022] As used here, “devices” means sensors, detectors, motors,actuators, displays, solenoids, or the like. Control of a device 140 mayinclude receiving the input from a sensor or detector, driving a motor,actuator, display, or solenoid, or generally providing inputs to ortaking output from any device 140.

[0023] In operation, the blood processor 100 according to the inventionhas, in memory 120, a program or set of programs readable by themicroprocessor 110. The microprocessor 110 operates according to theprogram read from the memory 120. Typically, an input from one of thedevices 140 will be used to initiate the blood processing procedure. Forexample, a blood processor 100 may have a start button. The start buttonis a kind of device 140. The start button, when activated, may output anelectrical signal in response to the activation. This electrical signalpasses to the low level hardware interface 130 and may be provided as aninterrupt to the microprocessor 110.

[0024] In response to the signal from the start button, themicroprocessor 110 may command the plurality of devices 140 inaccordance with the program steps defined in the memory 120 of the bloodprocessor 100. The program steps may be thought of as predefined scriptswhich the microprocessor 110 must follow.

[0025] It will be appreciated that the scripts stored in the memory 120of the blood processor 100 are not generally intelligible by an unaidedhuman. The program steps that comprise the scripts are in a custominterpretive language specially adapted to the blood processor 100.Furthermore, it will be appreciated that the scripts are not createdinside the blood processor 100 apparatus, but are created externally anddownloaded, via the computer of the blood processor 100, into the memory120 of the blood processor 100. Downloading of such instructions isperformed in a manner well known to those of skill in this field. Theact of downloading instructions or scripts into memory 120 is not thesubject of this invention, and detailed description thereof will beomitted for the sake of clarity.

[0026] Referring back to FIG. 1, there is represented an externalcomputer 200 having a blood processor interface 210, a script generator220, and a user interface 230. As mentioned, the blood processorinterface 210 provides a means whereby the script of custom interpretivelanguage instructions may be passed from the external computer 200 tothe memory 120 of the blood processor 100. As with the aspect of theblood processor 100 concerned with downloading, this aspect of theexternal computer 200 is not further discussed in detail.

[0027] The script generator 220 and the user interface 230 of theexternal computer 200 are important in achieving the object of theinvention. The key advantages of these components will be made apparentby first discussing a conventional way to generate instructions, andthen by explaining the invention.

[0028] It is conventional to obtain machine language instructions forexecution by a microprocessor 110 by writing source code of ahuman-readable programming language. Examples of human-readableprogramming languages are C, FORTRAN, BASIC, and C++, to name a few. Thesource code is typically stored on a computer-readable medium, such as adisk, and is used as an input to a compiler for the particularprogramming language.

[0029] A compiler may perform operations on the source code, as is wellknown in this field, and produce, as an output, machine languageinstructions. Compilers may also retrieve source code from associatedfiles such as header files, and may retrieve machine language code fromlibrary files, as part of the operations of making machine language codecorresponding to the input source code. The resulting machine languageinstructions may be stored in a file and downloaded to the bloodprocessor 100.

[0030] Having briefly described the conventional manner of obtaining aset of instructions for execution by a microprocessor 110, anexplanation will be given as to the script generator 220 and userinterface 230 according to the invention.

[0031] According to the invention, there is provided a user interface230 working cooperatively with a script generator 220. The userinterface 230 may be graphical in nature or not, although graphical userinterface 230s are preferred for ease of use. The user interface 230 andscript generator 220 may be customized to the architecture of the bloodprocessor 100.

[0032] The external computer 200 is depicted in FIG. 3. The scriptgenerator 220 contains information of three general types:

[0033] device information 222 relating to all of the different controls,sensors, buttons, and displays of the blood processor 100;

[0034] operation information 224 that is indicative of the differentoperations that may be performed with respect to the devices; and

[0035] limits information 226 that indicates operational limits for theoperations. These three types of information may be embodied in anymanner. The presently preferred manner of embodying this information isexemplified in the following description made with respect to a shieldthat may be automatically raised, automatically lowered, andautomatically locked.

[0036] The devices 140 associated with the shield include a steppermotor that moves the shield, a first sensor that detects the shield tobe in a fully closed position, and a second sensor that detects theshield to be in a fully locked position.

[0037] The operations information associated with the foregoing mayinclude operations of locking or unlocking the locking mechanism, ofmoving the shield in a closing or an opening direction, of stopping theshield, and the like.

[0038] The limits information 226 associated with the operations mayinclude maximum speed of travel for the shield, maximum travel distancefor the shield, and the like.

[0039] The following table shows how several operations may be defined:enum commands { shield_open = 0×0020, shield_close = 0×0021, shield_lock= 0×0022, shield_unlock = 0×0023, shield_up = 0×0024, shield_down =0×0025, shield_open = 0×0020, shield_lock_detect = 0×0026 . . .

[0040] Similarly, limits may be defined as: #define shield_max_travel =1523 #define shield_home_position = 0 #define shield_locked = 1 #defineshield_unlocked = 0 #define shield_max_travel_speed = 5

[0041] The user interface 230 might thus present a human readable formof each command from a menu, allowing the user to select from thepermitted commands. The user might set up a script using commands suchas:

[0042] Shield Close, speed=max

[0043] Shield Lock

[0044] Shield Compare lock-sensor, shield-locked The above commands“Shield Close” and “Shield Compare” have associated parameters. Forexample, the Shield Close command may have a speed parameter associatedwith it. The speed parameter could be used to drive the shield steppermotor, for example, in larger or smaller steps.

[0045] The following table shows how an interpretive language commandmight be provided in response to the user selecting a particular commandvia the user interface. In the table, the user has entered a command toperform an “up” operation on the device that drives the shield, whichdevice might be a stepper motor. The user interface requires the user toenter the necessary parameters, such as speed of the upward movement anddistance to be traveled. The user interface conveniently displays theunits that relate to the parameters of each operation. Para- Para- meterCommand meters values Units Human Shield up Speed 4 steps per secondreadable Distance 900 1/10 of mm command Interp. 0x0024, 4, 900 languagecommand

[0046] Here, the “shield up” command has been formed with the speedparameter being 4 steps/s, and the distance to travel being 900 tenthsof a millimeter (i.e., 9 centimeters). The user interface, knowing thatthe maximum speed allowed for shield travel is 5 steps/s, does notpermit the user to enter a value greater than 5 for the speed parameter.Likewise, the maximum travel allowed may also be checked against thepredetermined limit, i.e., shield_max_travel.

[0047] In the table above, the corresponding interpretive languagecommand is shown. In particular, the shield_up command is changed intothe hexadecimal value 24 (×24), which is the command identifier used bythe microprocessor of the blood processor. The microprocessor ispre-programmed to respond to the command ×24 by controlling the steppermotor that drives the shield of the blood processor to move the shieldin an upward direction. The parameters 4 and 900 are used by themicroprocessor to control the stepper motor's speed (i.e., 4 steps persecond) and the number of steps actually commanded (i.e., the equivalentof 9 cm). The numbers 4 and 900 are preferably converted to hexadecimalvalues as part of the script generation. Different commands will requiredifferent numbers of parameters.

[0048] The precise manner of making the defined commands easily readablethrough a graphical user interface 230 is not the subject of thisapplication, and will be well within the capability of those skilled ininterface design. Likewise, the precise manner of embodying the devices,operations, and limits information (222, 224, 226) in a computer programalso is not the subject of this application and, supplied with the aboveconcepts, it is within the capability of the software and controlsystems engineer to actually study a blood processor 100 and to define asuitable set of commands and program steps.

[0049] The user interface 230 permits a user to select from differentoperations on corresponding devices 140 within particular limits. Thescript generator 220 takes the items and their parameters selected bythe user, and produces corresponding instructions in the custominterpretive language. That is, the script generator 220 generatescustom interpretive language instructions with the appropriate addressesand parameters that correspond to the set of steps selected by the user.

[0050] The user interface 230 and script generator 220 may be combinedinto a single module, of course, or broken down into several modules.

[0051] Variations are possible, but the central idea is to allow theuser to create a script for the blood processor 100 without thenecessity for the user to be a computer programmer.

[0052] The user interface 230 and/or script generator 220 should permitthe storage of scripts for later recall and modification. Once thescripts of custom interpretive language instructions are thus stored,the blood processor interface 210 may be invoked to download the scriptinto the memory 120 of the blood processor 100 via the blood processor100.

[0053] A concrete example of a script generated according to theinvention will now be described for illustration purposes only.

[0054] The VIVOSTA™system by the BRISTOL-MYERS SQUIBB company is anexample of a highly complex blood processor 100 to which the inventionis applicable. The VIVOSTAT¹⁹⁸ system produces autologous fibrin sealantfrom a patient's own blood in approximately 30 minutes. The apparatusincludes a start button and a display panel, which are the only controlsmaking up the man/machine interface. In other words, the user inserts apreparation unit, pushes the start button, and waits while the bloodprocessor performs a myriad of complex operations. The display panelindicates progress during the processing.

[0055] The VIVOSTAT™system has numerous devices, as will become evidentfrom the following description. An example of some of the human-readableset of steps to accomplish the automated blood processing phase is shownin FIG. 5. In FIG. 5, the first column includes step numbers, the secondcolumn includes operations (which are often descriptive of the devicebeing operated on), the third column includes parameter informationrelating to the operations, the fourth column includes parameter values,and the fifth column includes unit-related information to make thescript more easily readable.

[0056] The first line on FIG. 5, for example, relates to the 72 d stepin a series of steps. The operation relates to the flywheel device. Theoperation, to be precise, is a deceleration operation. The relevantparameters are the final speed and the deceleration rate. The finalspeed parameter is 2000 revolutions per minute. The rate of decelerationis 1000 RPM per second.

[0057] The second line of FIG. 5 is the 73 d step in the series ofsteps. The device being controlled is the piston (mentioned below) of apreparation unit. The operation is a wait operation. In this instance,no parameters are applicable.

[0058] In general, to produce autologous fibrin sealant from wholeblood, the following steps are taken:

[0059] A. During a preparation phase:

[0060] 1. Manually, citrate is transferred into a reservoir chamber of adisposable preparation unit, e.g., a unit as described in any of theabove-identified ′845, ′446, or ′784 patents.

[0061] 2. Whole blood is manually collected from the patient anddirectly transferred to the reservoir chamber.

[0062] 3. A dissolving buffer syringe is manually placed in thepreparation unit. The preparation unit with syringe is placed inside theVIVOSTAT™blood processor unit.

[0063] B. During an automated processing phase:

[0064] 4. The processor unit shield is closed. The preparation unit isengaged. A piston is moved down and enzyme (biotinylated batroxobin) isreleased from a cartridge inside the preparation unit into a reactionchamber of the preparation unit, e.g., as described in U.S. Pat. No.5,830,352.

[0065] 5. A halogen lamp, near infrared sensor-controlled heating systemwithin the blood processor heats the preparation unit reservoir chamberuntil the temperature of the blood returns to 37° C.

[0066] 6. The processor spins the preparation unit, separating theplasma from the cells. The cells aggregate on the wall of the reservoirchamber while the plasma forms an inner core.

[0067] 7. The piston is moved up and draws the separated plasma corefrom the reservoir chamber into the reaction chamber, there to mix withthe enzyme. The piston moves to a height sufficient to draw 60ml ofplasma. A red blood cell detector is used to ensure that no red bloodcells are drawn into the reaction chamber. Once mixing is complete, thepreparation unit is spun at 9000 rpm, thus converting the fibrinogeninto fibrin, which in this case is fibrin I, and which immediatelypolymerizes, the gel-like polymer being deposited on the wall of thereaction chamber in a thin film.

[0068] 8. The preparation unit is brought to a standstill. Air is drawninto the reaction chamber. The piston is moved so as to compress theair, forcing all but the fibrin I polymer and residual biotinylatedbatroxobin into the reservoir chamber. Short spins are performed so asto remove any additional residual plasma in the fibrin I polymer.

[0069] 9. The dissolving buffer is released into the reaction chamberfrom the syringe. The preparation unit is rotated in one direction, andthen the other, repeatedly, so as to dissolve the fibrin I in the bufferand to produce a fibrin(I) monomer solution. Avidin-agarose is releasedinto the reaction chamber to act as an enzyme capture reagent. Thepreparation unit is spun intermittently and the avidin-agarose complexeswith the residual biotinylated batroxobin.

[0070] 10. The fibrin I—enzyme complex mixture is caused to flow into afiltration chamber of the preparation unit. The preparation unit is spunand centrifugal force transfers the fibrin I monomer solution through anannular filter into a collection chamber of the preparation unit. Sincethe agarose-avidin-biotin-batroxobin enzyme complex is unable to passthrough the annular filter, it remains in the filtration chamber.

[0071] 11. The resulting purified fibrin I monomer solution istransferred from the collection chamber of the preparation unit backinto the syringe via a safety filter. The shield is moved out of the wayand the preparation unit is disengaged.

[0072] C. Application phase

[0073] 12. The fibrin I monomer solution is combined with a pH10 bufferat the site of application, thus causing polymerization of the fibrinmonomer into fibrin polymer.

[0074] It will be appreciated that the user interface 230 and scriptgenerator 220 relieve the user of the task of programming in aprogramming language, and generate scripts in a custom interpretivelanguage customized to the blood processor by virtue of the informationcontained in the device definition file and the operation definitionfile. The custom interpretive language instructions are downloaded intothe blood processor 100 via the blood processor interface 210 and thecomputer onboard the blood processor 100.

[0075] In another embodiment of the invention, the memory 120 of theblood processor 100 is capable of storing multiple scripts. This isadvantageous when combined with a barcode scanner or the like in theblood processor 100. In FIG. 4, microprocessor 110 controls a barcodereader 150 to read a barcode (not shown) of preparation unit 300.

[0076] For example, a first script might relate to performing processingon blood in a normal manner, the amount of blood expected being 60cc. Inthis hypothetical process, a first amount of another chemical isreleased from the above-identified syringe into the blood, perhaps 5cc.

[0077] A second script might relate to performing the same generalprocess, but for the blood of a neonatal infant. It would be unsafe todraw 60cc of blood from the neonate, and so only a few cc would be drawnand used. The amount automatically dispensed from the syringe would needto be correspondingly reduced in the second script.

[0078] By affixing an appropriate barcode or other indicator on thedisposable preparation unit 300, the barcode reader 150 or the like inthe blood processor 100 may automatically obtain an indication ofwhether the first script or the second script is to be executed.

[0079] Additional scripts may be added to the blood processor so that athird script may be generated to perform blood processing in a thirdmanner. Since the blood processor is not controlled by an ASIC, thescripts need not all be predefined; rather, scripts may be added orchanged later, making the blood processor according to this embodimentof the invention especially advantageous.

[0080] For the sake of generality, it will be appreciated that a barcodereader is not the only means by which information from the preparationunit might be provided to the blood processor. It will occur to thosefamiliar in this field to use optical character recognition, forexample, or to use another indicator such as a certain shape or color ofthe preparation unit. The term “reader” will therefore mean all of theseand similar ways of indicating, on the preparation unit, a differentscript should be followed. The term “indicator” will mean theidentifying indicia or shape of the preparation unit detectable by thereader.

[0081] It is contemplated that numerous modifications may be made to thedisclosed system for control of a blood processor, without departingfrom the spirit and scope of the invention as defined in the followingclaims.

I claim:
 1. A system for controlling a blood processor, comprising: ablood processor with a microprocessor and memory; and an externalcomputer having a user interface and a script generator; said bloodprocessor having a plurality of devices, each with one or morerespective operations; said script generator including device andoperation information relating to said plurality of devices and saidrespective operations; said user interface being adapted to display saiddevice information and said operation information; said externalcomputer recording a selected set of steps indicating selected ones ofsaid respective operations for said plurality of devices; said scriptgenerator outputting said selected steps in a custom interpretivelanguage readable by said microprocessor of said blood processor; andsaid script being loaded into said memory of said blood processor. 2.The system for controlling a blood processor as set forth in claim 1,wherein said selected set of steps include: spinning whole blood in afirst chamber to separate plasma from cells; moving a piston of apreparation unit to draw plasma from said first chamber to a secondchamber; mixing said plasma in said second chamber with an enzyme whichconverts fibrinogen in said plasma into a fibrin polymer; releasing adissolving buffer into said second chamber from a syringe; rotating saidpreparation unit in alternate directions to dissolve said fibrin polymerin said buffer forming a fibrin monomer solution; releasing an enzymecapture reagent into said second chamber; manipulating said preparationunit so that said fibrin monomer solution flows into a third chamber ofsaid preparation unit; rotating said preparation unit so that saidfibrin monomer flows through an annular filter into a fourth chamber ofsaid preparation unit; and transferring said fibrin monomer into saidsyringe.
 3. The system for controlling a blood processor as set forth inclaim 2, wherein: said memory of said blood processor includes saidscript and a different script, defining a plurality of scripts; and saidblood processor includes a reader reading an indicator of saidpreparation unit and providing an indication corresponding to saidindicator; said microprocessor selecting one of said plurality ofscripts based on said indication.
 4. The system for controlling a bloodprocessor as set forth in claim 3, wherein said reader is a bar codereader.
 5. The system for controlling a blood processor as set forth inclaim 1, wherein: said script generator further comprises limitsinformation; said selected set of steps includes, for each of saidsteps, respective parameter information; and said user interface usessaid limits information to check for invalid values in said parameterinformation.